home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / lynx-2.4 / build.com next >
Encoding:
Text File  |  1995-06-28  |  6.0 KB  |  229 lines

  1. $ v = 'f$verify(0)'
  2. $!            BUILD.COM
  3. $!
  4. $!   Command file to build LYNX.EXE on VMS systems.
  5. $!   Also invokes build of the WWWLibrary if its
  6. $!    object library does not already exist.
  7. $!
  8. $!   03-May-1995    F.Macrides        macrides@sci.wfeb.edu
  9. $!    Include /nomember for compilations with DECC.  It's not the
  10. $!    default on AXP and the code assumes byte alignment.
  11. $!   23-Mar-1995    F.Macrides        macrides@sci.wfeb.edu
  12. $!    Replaced references to v2.3.8 or v2.3.9 with v2.3-FM to avoid
  13. $!    any confusion with official releases at UKans.
  14. $!   16-Mar-1995    F.Macrides        macrides@sci.wfeb.edu
  15. $!    Updated to permit submission to BATCH.
  16. $!   17-Feb-1995    F.Macrides        macriees@sci.wfeb.edu
  17. $!    Updated for v2.3-FM
  18. $!   07-Dec-1994    F.Macrides        macrides@sci.wfeb.edu
  19. $!    Updated for DECC/VAX, VAXC/VAX and DECC/AXP
  20. $!   03-OCT-1994    A.Harper        A.Harper@kcl.ac.uk
  21. $!    Mods to support SOCKETSHR/NETLIB and add a /DEBUG/NOOPT option
  22. $!   02-Jun-1994    F.Macrides        macrides@sci.wfeb.edu
  23. $!    Mods to support TCPWare (To use non-blocking connects, you need
  24. $!    the DRIVERS_V405B.INC patch from FTP.PROCESS.COM for TCPware for
  25. $!    OpenVMS Version 4.0-5, or a higher version of TCPWare, which will
  26. $!    have that bug in the TCPDRIVER fixed.  Otherwise, add NO_IOCTL to
  27. $!    the $ cc := cc/define=(...) list in [.WWW.Library.VMS]libmake.com).
  28. $!   20-May-1994    Andy Harper        A.Harper@bay.cc.kcl.ac.uk
  29. $!    Mods to support CMU TCP/IP
  30. $!   13-Dec-1993    F.Macrides        macrides@sci.wfeb.edu
  31. $!    Mods for conditional compilations with VAXC versus DECC
  32. $!   10-Dec-1993    F.Macrides        macrides@sci.wfeb.edu
  33. $!    Initial version, for Lynx v2.1
  34. $!
  35. $ ON CONTROL_Y THEN GOTO CLEANUP
  36. $ ON ERROR THEN GOTO CLEANUP
  37. $ proc = f$environment("PROCEDURE")
  38. $ where = f$parse(proc,,,"DEVICE") + f$parse(proc,,,"DIRECTORY")
  39. $ set default 'where'
  40. $ write sys$output "Default directory:"
  41. $ show default
  42. $ write sys$output ""
  43. $!
  44. $ agent = 0
  45. $ extra = ""
  46. $ IF P1 .EQS. ""
  47. $ THEN
  48. $   If f$mode() .eqs. "BATCH"
  49. $   Then
  50. $    write sys$output "TCP/IP agent not specified!"
  51. $    write sys$output "Defaulting to MULTINET"
  52. $   Else
  53. $     write sys$output "Acceptable TCP/IP agents are"
  54. $     write sys$output " [1] MULTINET (default)"
  55. $     write sys$output " [2] UCX"
  56. $     write sys$output " [3] WIN_TCP"
  57. $    write sys$output " [4] CMU_TCP"
  58. $    write sys$output " [5] SOCKETSHR_TCP"
  59. $    write sys$output " [6] TCPWARE"
  60. $     read sys$command/prompt="Agent [1,2,3,4,5,6] (RETURN = [1]) " agent
  61. $   EndIf
  62. $ ENDIF
  63. $ if agent .eq. 1 .or. agent .eqs. "" .or. p1 .eqs. "MULTINET" then -
  64.     option = "MULTINET"
  65. $ if agent .eq. 2 .or. p1 .eqs. "UCX" then option = "UCX"
  66. $ if agent .eq. 3 .or. p1 .eqs. "WIN_TCP" then option = "WIN_TCP"
  67. $ if agent .eq. 4 .or. p1 .eqs. "CMU_TCP" then option = "CMU_TCP"
  68. $ if agent .eq. 5 .or. p1 .eqs. "SOCKETSHR_TCP" then option = "SOCKETSHR_TCP"
  69. $ if agent .eq. 6 .or. p1 .eqs. "TCPWARE" then option = "TCPWARE"
  70. $!
  71. $ if option .eqs. "TCPWARE"
  72. $ then
  73. $    write sys$output "Building Lynx for TCPWARE with UCX emulation..."
  74. $    extra   = ",UCX"
  75. $ endif
  76. $!
  77. $ optfile = "''option'"
  78. $!
  79. $ if p2 .nes. ""
  80. $   then
  81. $      cc_opts = "/DEBUG/NOOPT"
  82. $      link_opts = "/DEBUG"
  83. $   else
  84. $      cc_opts = ""
  85. $      link_opts = ""
  86. $ endif
  87. $!
  88. $ IF f$search("[.WWW.Library.Implementation]WWWLib_''option'.olb") .nes. ""
  89. $ THEN
  90. $   write sys$output "  WWWLib_''option'.olb already exists."
  91. $   If f$mode() .eqs. "BATCH" 
  92. $   Then 
  93. $    write sys$output "  Updating WWWLib_''option'.olb"
  94. $   Else
  95. $    read sys$command/prompt="  Update it [default Y]? " reply
  96. $    if reply .nes. "" .and. -
  97.        f$extract(0,1,f$edit(reply, "TRIM, UPCASE")) .nes. "Y" then -
  98. $       goto Compile_SRC
  99. $   EndIf
  100. $ ENDIF
  101. $ v1 = f$verify(1)
  102. $!
  103. $!    Build the WWWLibrary
  104. $!
  105. $ set default [.WWW.Library.VMS]
  106. $ v1 = 'f$verify(0)'
  107. $ @libmake 'option' 'cc_opts'
  108. $ v1 = f$verify(1)
  109. $ set default [-.-.-]
  110. $ v1 = 'f$verify(0)'
  111. $!
  112. $Compile_SRC:
  113. $ v1 = f$verify(1)
  114. $!
  115. $!    Compile the Lynx [.SRC] modules
  116. $!
  117. $ set default [.SRC]
  118. $ v1 = 'f$verify(0)'
  119. $ IF f$trnlnm("VAXCMSG") .eqs. "DECC$MSG" .or. -
  120.      f$trnlnm("DECC$CC_DEFAULT") .eqs. "/DECC"
  121. $ THEN
  122. $  compiler := "DECC"
  123. $  v1 = f$verify(1)
  124. $! DECC:
  125. $  cc := cc/prefix=all /nomember 'cc_opts'-
  126.        /DEFINE=(DEBUG,ACCESS_AUTH,'option''extra',__VMS_CURSES)-
  127.        /INCLUDE=([-],[-.WWW.Library.Implementation]) 
  128. $  v1 = 'f$verify(0)'
  129. $ ELSE
  130. $  compiler := "VAXC"
  131. $  v1 = f$verify(1)
  132. $! VAXC:
  133. $  cc := cc/DEFINE=(DEBUG,ACCESS_AUTH,'option''extra') 'cc_opts'-
  134.        /INCLUDE=([-],[-.WWW.Library.Implementation]) 
  135. $  v1 = 'f$verify(0)'
  136. $ ENDIF
  137. $ v1 = f$verify(1)
  138. $!
  139. $ cc DefaultStyle
  140. $ cc GridText
  141. $ cc HTAlert
  142. $ cc HTFWriter
  143. $ cc HTInit
  144. $ cc HTML
  145. $ cc LYBookmark
  146. $ cc LYClean
  147. $ cc LYCurses
  148. $ cc LYDownload
  149. $ cc LYEdit
  150. $ cc LYexit
  151. $ cc LYForms
  152. $ cc LYGetFile
  153. $ cc LYHistory
  154. $ cc LYJump
  155. $ cc LYKeymap
  156. $ cc LYLeaks
  157. $ cc LYMail
  158. $ cc LYMain
  159. $ cc LYMainLoop
  160. $ cc LYNews
  161. $ cc LYOptions
  162. $ cc LYPrint
  163. $ cc LYrcFile
  164. $ cc LYReadCFG
  165. $ cc LYSearch
  166. $ cc LYShowInfo
  167. $ cc LYStrings
  168. $ cc LYUpload
  169. $ cc LYUtils
  170. $!
  171. $!    Link the objects and libaries.
  172. $!
  173. $ link/exe=lynx.exe 'link_opts' -
  174. DefaultStyle.obj, -
  175. GridText.obj, -
  176. HTAlert.obj, -
  177. HTFWriter.obj, -
  178. HTInit.obj, -
  179. HTML.obj, -
  180. LYBookmark.obj, -
  181. LYClean.obj, -
  182. LYCurses.obj, -
  183. LYDownload.obj, -
  184. LYEdit.obj, -
  185. LYexit.obj, -
  186. LYForms.obj, -
  187. LYGetFile.obj, -
  188. LYHistory.obj, -
  189. LYJump.obj, -
  190. LYKeymap.obj, -
  191. LYLeaks.obj, -
  192. LYMail.obj, -
  193. LYMain.obj, -
  194. LYMainLoop.obj, -
  195. LYNews.obj, -
  196. LYOptions.obj, -
  197. LYPrint.obj, -
  198. LYrcFile.obj, -
  199. LYReadCFG.obj, -
  200. LYSearch.obj, -
  201. LYShowInfo.obj, -
  202. LYStrings.obj, -
  203. LYUpload.obj, -
  204. LYUtils.obj, -
  205. [-.WWW.Library.Implementation]WWWLib_'option'.olb/library, -
  206. []'optfile'_'compiler'.opt/opt
  207. $!
  208. $!    Copy the executable to the top directory and restore the default.
  209. $!
  210. $ copy lynx.exe [-]
  211. $ set def [-]
  212. $!
  213. $ v1 = 'f$verify(0)'
  214. $!
  215. $!  Issue message on how to include LYNX.HLP in the system HELP library
  216. $!
  217. $ write sys$output ""
  218. $ write sys$output "  To install or update lynx.hlp in the system HELP library,"
  219. $ write sys$output "  use:"
  220. $ write sys$output "        library/replace sys$help:helplib.hlb lynx.hlp"
  221. $ write sys$output ""
  222. $!
  223. $ CLEANUP:
  224. $    v1 = 'f$verify(0)'
  225. $    write sys$output "Default directory:"
  226. $    show default
  227. $    v1 = f$verify(v)
  228. $ exit
  229.